/*
 * To change this template, choose Tools | Templates
 * and open the template in the editor.
 */
package admin;

import com.oreilly.servlet.multipart.MultipartParser;
import com.oreilly.servlet.multipart.ParamPart;
import com.oreilly.servlet.multipart.Part;
import java.io.IOException;
import java.io.PrintWriter;
import javax.servlet.ServletException;
import javax.servlet.annotation.WebServlet;
import javax.servlet.http.HttpServlet;
import javax.servlet.http.HttpServletRequest;
import javax.servlet.http.HttpServletResponse;
import javax.servlet.http.HttpSession;

import java.util.List;
import java.util.Iterator;
import java.io.File;
import org.apache.commons.fileupload.servlet.ServletFileUpload;
import org.apache.commons.fileupload.disk.DiskFileItemFactory;
import org.apache.commons.fileupload.*;


/**
 *
 * @author NhatHuy
 */
@WebServlet(name = "XuLyCapNhatThongTinGiay", urlPatterns = {"/XuLyCapNhatThongTinGiay"})
public class XuLyCapNhatThongTinGiay extends HttpServlet {

    /** 
     * Processes requests for both HTTP <code>GET</code> and <code>POST</code> methods.
     * @param request servlet request
     * @param response servlet response
     * @throws ServletException if a servlet-specific error occurs
     * @throws IOException if an I/O error occurs
     */
    protected void processRequest(HttpServletRequest request, HttpServletResponse response)
            throws ServletException, IOException {
        request.setCharacterEncoding("UTF-8");
        response.setCharacterEncoding("UTF-8");
        response.setContentType("text/html;charset=UTF-8");
        PrintWriter out = response.getWriter();
        try {
            HttpSession session = request.getSession();
            //Nếu quản trị chưa đăng nhập, chuyển sang trang đăng nhập.
            //if (session.getAttribute("QuanTri") == null){
                //String url = request.getContextPath()+"/admin/DangNhapAdmin.html";
                //response.sendRedirect(url);
                //return;
            //} 
            
           

            //Lấy thông tin giày.
//            int maGiay = 1;
//            //int maGiay = Integer.parseInt(request.getParameter("tfMaGiay"));
//            String tenGiay = request.getParameter("tfTenGiay");
//            int maLoaiGiay = Integer.parseInt(request.getParameter("slLoaiGiay"));
//            int maMauSac = Integer.parseInt(request.getParameter("slMauSac"));
//            int gioiTinh = Integer.parseInt(request.getParameter("slGioiTinh"));
//            int soLuong = Integer.parseInt(request.getParameter("tfSoLuong"));
//            int maTinhTrang = Integer.parseInt(request.getParameter("slTinhTrang"));
////            String hinhAnh = request.getParameter("HinhAnh");
//            float giaBan = Float.parseFloat(request.getParameter("tfGiaBan"));
//            
//            GiayPOJO giay = new GiayPOJO();
//            giay.setMaGiay(maGiay);
//            giay.setTenGiay(tenGiay);
//            giay.setMaLoaiGiay(maLoaiGiay);
//            giay.setMaMauSac(maMauSac);
//            giay.setGioiTinh(gioiTinh);
//            giay.setSoLuong(soLuong);
//            giay.setMaTinhTrang(maTinhTrang);
//            giay.setHinhAnh("hinh/giay1.jpg");
//            giay.setGiaBan(giaBan);            
//            
//            boolean kq = GiayDAO.capNhatThongTinGiay(giay);
            
            
            
     MultipartParser mp = new MultipartParser(request, 1*1024*1024); // 10MB
      Part part;
      while ((part = mp.readNextPart()) != null) {
            String name = part.getName();
            if (part.isParam()) {
              // it's a parameter part
              ParamPart paramPart = (ParamPart) part;
              String value = paramPart.getStringValue("UTF-8");
              out.println("param; name=" + name + ", value=" + value);
            }
      }
        

            //Upload file.
     boolean isMultipart = ServletFileUpload.isMultipartContent(request);
     if (!isMultipart) {
       
     } else {
           FileItemFactory factory = new DiskFileItemFactory();
           ServletFileUpload upload = new ServletFileUpload(factory);
           List items = null;
           try {
               items = upload.parseRequest(request);
           } catch (FileUploadException e) {
               e.printStackTrace();
           }
           Iterator itr = items.iterator();
           while (itr.hasNext()) {
               FileItem item = (FileItem) itr.next();
               if (item.isFormField()) {
                   
               } else {
                   try {
                           String itemName = item.getName();
                           //File savedFile = new File(config.getServletContext
    //().getRealPath("/")+"client/hinhgiay/"+itemName);
                           File savedFile = new File("C:\\"+itemName);
                           item.write(savedFile);  
          //out.println("<tr><td><b>Your file has been saved at the loaction:</b></td></tr>"
                    //+ "<tr><td><b>"+config.getServletContext().getRealPath("/")+"uploadedFiles"+"\\"+itemName+"</td></tr>");
                   } catch (Exception e) {
                           e.printStackTrace(); 
                   }
               }
           }
       }
   
            
            
            
            
            
            
            
            
            
            //Chuyển đến trang quản lý giày.
            String url = request.getContextPath()+"/QuanLyGiay";
            response.sendRedirect(url);
            //Test.
//            out.println("Kết quả cập nhật giày: "+kq);
//            out.println ("Mã giày: "+giay.getMaGiay());
//            out.println("Tên giày : "+giay.getTenGiay());
//            out.println("Mã loại giày: "+giay.getMaLoaiGiay());
//            out.println ("Mã màu sắc: "+giay.getMaMauSac());
//            out.println("Giới tính : "+giay.getGioiTinh());
//            out.println("Số lượng: "+giay.getSoLuong());
//            out.println ("Mã tình trạng: "+giay.getMaTinhTrang());
//            out.println("Hình ảnh : "+giay.getHinhAnh());
//            out.println("Giá bán: "+giay.getGiaBan());
        } finally {            
            out.close();
        }
    }

    // <editor-fold defaultstate="collapsed" desc="HttpServlet methods. Click on the + sign on the left to edit the code.">
    /** 
     * Handles the HTTP <code>GET</code> method.
     * @param request servlet request
     * @param response servlet response
     * @throws ServletException if a servlet-specific error occurs
     * @throws IOException if an I/O error occurs
     */
    @Override
    protected void doGet(HttpServletRequest request, HttpServletResponse response)
            throws ServletException, IOException {
        processRequest(request, response);
    }

    /** 
     * Handles the HTTP <code>POST</code> method.
     * @param request servlet request
     * @param response servlet response
     * @throws ServletException if a servlet-specific error occurs
     * @throws IOException if an I/O error occurs
     */
    @Override
    protected void doPost(HttpServletRequest request, HttpServletResponse response)
            throws ServletException, IOException {
        processRequest(request, response);
    }

    /** 
     * Returns a short description of the servlet.
     * @return a String containing servlet description
     */
    @Override
    public String getServletInfo() {
        return "Short description";
    }// </editor-fold>
}
